{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ff8326f2-d7ab-4152-a9f0-85bbd27e7147",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.13.2 | packaged by conda-forge | (main, Feb 17 2025, 14:10:22) [GCC 13.3.0]\n",
      "2025.09.1\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from rdkit import rdBase, Chem, DataStructs\n",
    "from rdkit.Chem import AllChem, Draw, Descriptors, PandasTools, rdMolDescriptors\n",
    "from rdkit.Chem import QED\n",
    "PandasTools.RenderImagesInAllDataFrames(True)\n",
    "from rdkit.Chem.Draw import IPythonConsole\n",
    "from rdkit.Chem.Draw import rdDepictor\n",
    "\n",
    "IPythonConsole.ipython_useSVG=True\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "print(sys.version)\n",
    "print(rdBase.rdkitVersion)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "7b5ac185-c18d-4110-a78a-7c1ab445cbd5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:rdkit=\"http://www.rdkit.org/xml\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" baseProfile=\"full\" xml:space=\"preserve\" width=\"1200px\" height=\"400px\" viewBox=\"0 0 1200 400\">\n",
       "<!-- END OF HEADER -->\n",
       "<rect style=\"opacity:1.0;fill:#FFFFFF;stroke:none\" width=\"400.0\" height=\"400.0\" x=\"0.0\" y=\"0.0\"> </rect>\n",
       "<path class=\"bond-0 atom-0 atom-1\" d=\"M 271.2,104.2 L 243.5,107.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-0 atom-0 atom-1\" d=\"M 270.9,108.4 L 244.0,111.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-1 atom-1 atom-2\" d=\"M 243.5,107.1 L 218.5,119.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-2 atom-2 atom-3\" d=\"M 218.5,119.3 L 211.1,126.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-2 atom-2 atom-3\" d=\"M 211.1,126.9 L 203.7,134.6\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-3 atom-3 atom-4\" d=\"M 196.9,144.3 L 192.4,154.5\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-3 atom-3 atom-4\" d=\"M 192.4,154.5 L 187.8,164.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-4 atom-4 atom-5\" d=\"M 187.8,164.7 L 185.9,192.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-5 atom-5 atom-6\" d=\"M 185.9,192.5 L 193.5,219.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-6 atom-6 atom-7\" d=\"M 197.4,217.4 L 209.9,241.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-6 atom-6 atom-7\" d=\"M 193.5,219.2 L 202.7,239.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-7 atom-7 atom-8\" d=\"M 209.9,241.8 L 181.9,248.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-8 atom-8 atom-9\" d=\"M 181.9,248.0 L 158.9,232.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-8 atom-8 atom-9\" d=\"M 182.8,243.5 L 163.2,230.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-9 atom-9 atom-10\" d=\"M 158.9,232.4 L 160.8,204.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-10 atom-10 atom-11\" d=\"M 160.8,204.7 L 151.6,198.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-10 atom-10 atom-11\" d=\"M 151.6,198.4 L 142.3,192.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-11 atom-11 atom-12\" d=\"M 133.2,191.3 L 123.0,196.3\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-11 atom-11 atom-12\" d=\"M 123.0,196.3 L 112.7,201.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-12 atom-12 atom-13\" d=\"M 112.7,201.3 L 89.6,185.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-13 atom-13 atom-14\" d=\"M 89.6,185.7 L 79.1,190.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-13 atom-13 atom-14\" d=\"M 79.1,190.8 L 68.5,196.0\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-14 atom-14 atom-15\" d=\"M 63.8,202.7 L 61.8,214.0\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-14 atom-14 atom-15\" d=\"M 61.8,214.0 L 59.8,225.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-15 atom-15 atom-16\" d=\"M 59.8,225.3 L 32.2,229.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-16 atom-16 atom-17\" d=\"M 32.2,229.2 L 20.0,204.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-17 atom-17 atom-18\" d=\"M 20.0,204.1 L 40.0,184.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-18 atom-7 atom-19\" d=\"M 209.9,241.8 L 217.8,247.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-18 atom-7 atom-19\" d=\"M 217.8,247.1 L 225.7,252.5\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-19 atom-19 atom-20\" d=\"M 236.9,257.9 L 251.6,260.1\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-19 atom-19 atom-20\" d=\"M 251.6,260.1 L 266.3,262.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-20 atom-20 atom-21\" d=\"M 266.3,262.3 L 269.4,273.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-20 atom-20 atom-21\" d=\"M 269.4,273.3 L 272.6,284.2\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 277.9,290.0 L 289.4,292.9\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 289.4,292.9 L 301.0,295.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 278.9,286.0 L 289.3,288.6\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 289.3,288.6 L 299.6,291.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-22 atom-22 atom-23\" d=\"M 301.0,295.8 L 320.3,275.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-23 atom-23 atom-24\" d=\"M 320.3,275.8 L 312.7,249.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-23 atom-23 atom-24\" d=\"M 315.6,274.6 L 309.3,252.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-24 atom-24 atom-25\" d=\"M 312.7,249.0 L 301.1,246.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-24 atom-24 atom-25\" d=\"M 301.1,246.2 L 289.6,243.3\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-25 atom-24 atom-26\" d=\"M 312.7,249.0 L 332.0,229.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-26 atom-26 atom-27\" d=\"M 332.0,229.0 L 360.6,229.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-27 atom-27 atom-28\" d=\"M 360.6,229.4 L 380.0,209.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-27 atom-27 atom-28\" d=\"M 358.9,225.1 L 375.3,208.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-28 atom-28 atom-29\" d=\"M 380.0,209.3 L 372.3,182.6\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-29 atom-29 atom-30\" d=\"M 372.3,182.6 L 345.3,175.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-29 atom-29 atom-30\" d=\"M 369.0,186.1 L 349.2,181.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-30 atom-30 atom-31\" d=\"M 345.3,175.8 L 343.4,203.6\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-31 atom-30 atom-32\" d=\"M 345.3,175.8 L 337.7,149.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-32 atom-32 atom-33\" d=\"M 337.7,149.0 L 331.3,140.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-32 atom-32 atom-33\" d=\"M 331.3,140.3 L 325.0,131.5\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-33 atom-33 atom-34\" d=\"M 316.8,123.4 L 307.5,117.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-33 atom-33 atom-34\" d=\"M 307.5,117.2 L 298.2,110.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-34 atom-34 atom-0\" d=\"M 298.2,110.9 L 271.2,104.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-35 atom-10 atom-5\" d=\"M 160.8,204.7 L 185.9,192.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-35 atom-10 atom-5\" d=\"M 164.9,207.4 L 183.2,198.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-36 atom-18 atom-14\" d=\"M 40.0,184.8 L 50.4,190.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-36 atom-18 atom-14\" d=\"M 50.4,190.3 L 60.7,195.8\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 281.8,246.3 L 274.0,254.3\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 274.0,254.3 L 266.3,262.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 284.8,249.3 L 277.9,256.4\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 277.9,256.4 L 271.0,263.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-38 atom-31 atom-26\" d=\"M 339.2,202.6 L 332.0,229.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-38 atom-31 atom-26\" d=\"M 343.4,203.6 L 338.5,224.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path d=\"M 269.9,104.3 L 271.2,104.2 L 272.6,104.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 244.9,106.9 L 243.5,107.1 L 242.3,107.7\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 219.8,118.7 L 218.5,119.3 L 218.1,119.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 188.0,164.2 L 187.8,164.7 L 187.7,166.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 193.1,217.9 L 193.5,219.2 L 194.0,220.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 183.3,247.7 L 181.9,248.0 L 180.8,247.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 160.0,233.2 L 158.9,232.4 L 159.0,231.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 113.2,201.0 L 112.7,201.3 L 111.6,200.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 90.8,186.5 L 89.6,185.7 L 89.1,185.9\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 59.9,224.7 L 59.8,225.3 L 58.4,225.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 33.6,229.0 L 32.2,229.2 L 31.6,227.9\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 20.6,205.4 L 20.0,204.1 L 21.0,203.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 39.0,185.8 L 40.0,184.8 L 40.6,185.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 300.4,295.7 L 301.0,295.8 L 301.9,294.8\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 319.4,276.8 L 320.3,275.8 L 320.0,274.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 359.2,229.3 L 360.6,229.4 L 361.6,228.4\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 379.0,210.3 L 380.0,209.3 L 379.6,208.0\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 372.7,183.9 L 372.3,182.6 L 371.0,182.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 343.5,202.2 L 343.4,203.6 L 343.1,204.7\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 338.1,150.4 L 337.7,149.0 L 337.4,148.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 298.7,111.2 L 298.2,110.9 L 296.9,110.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path class=\"atom-3\" d=\"M 195.5 139.3 Q 195.5 137.4, 196.5 136.3 Q 197.4 135.3, 199.2 135.3 Q 200.9 135.3, 201.8 136.3 Q 202.8 137.4, 202.8 139.3 Q 202.8 141.2, 201.8 142.3 Q 200.9 143.4, 199.2 143.4 Q 197.4 143.4, 196.5 142.3 Q 195.5 141.2, 195.5 139.3 M 199.2 142.5 Q 200.4 142.5, 201.0 141.7 Q 201.7 140.9, 201.7 139.3 Q 201.7 137.8, 201.0 137.0 Q 200.4 136.2, 199.2 136.2 Q 198.0 136.2, 197.3 137.0 Q 196.7 137.7, 196.7 139.3 Q 196.7 140.9, 197.3 141.7 Q 198.0 142.5, 199.2 142.5 \" fill=\"#FF0000\"/>\n",
       "<path class=\"atom-11\" d=\"M 134.1 189.1 Q 134.1 187.2, 135.1 186.2 Q 136.0 185.1, 137.8 185.1 Q 139.5 185.1, 140.4 186.2 Q 141.4 187.2, 141.4 189.1 Q 141.4 191.0, 140.4 192.1 Q 139.5 193.2, 137.8 193.2 Q 136.0 193.2, 135.1 192.1 Q 134.1 191.0, 134.1 189.1 M 137.8 192.3 Q 139.0 192.3, 139.6 191.5 Q 140.3 190.7, 140.3 189.1 Q 140.3 187.6, 139.6 186.8 Q 139.0 186.0, 137.8 186.0 Q 136.6 186.0, 135.9 186.8 Q 135.2 187.5, 135.2 189.1 Q 135.2 190.7, 135.9 191.5 Q 136.6 192.3, 137.8 192.3 \" fill=\"#FF0000\"/>\n",
       "<path class=\"atom-14\" d=\"M 62.9 193.9 L 65.5 198.1 Q 65.7 198.5, 66.1 199.3 Q 66.5 200.0, 66.6 200.1 L 66.6 193.9 L 67.6 193.9 L 67.6 201.8 L 66.5 201.8 L 63.8 197.3 Q 63.4 196.7, 63.1 196.1 Q 62.8 195.5, 62.7 195.3 L 62.7 201.8 L 61.6 201.8 L 61.6 193.9 L 62.9 193.9 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-19\" d=\"M 222.2 253.4 L 223.3 253.4 L 223.3 256.8 L 227.3 256.8 L 227.3 253.4 L 228.4 253.4 L 228.4 261.3 L 227.3 261.3 L 227.3 257.7 L 223.3 257.7 L 223.3 261.3 L 222.2 261.3 L 222.2 253.4 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-19\" d=\"M 231.2 253.4 L 233.8 257.6 Q 234.0 258.0, 234.5 258.8 Q 234.9 259.5, 234.9 259.6 L 234.9 253.4 L 235.9 253.4 L 235.9 261.3 L 234.9 261.3 L 232.1 256.7 Q 231.8 256.2, 231.4 255.6 Q 231.1 255.0, 231.0 254.8 L 231.0 261.3 L 230.0 261.3 L 230.0 253.4 L 231.2 253.4 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-21\" d=\"M 272.2 285.1 L 274.8 289.3 Q 275.1 289.7, 275.5 290.5 Q 275.9 291.2, 275.9 291.3 L 275.9 285.1 L 277.0 285.1 L 277.0 293.0 L 275.9 293.0 L 273.1 288.4 Q 272.8 287.9, 272.4 287.3 Q 272.1 286.7, 272.0 286.5 L 272.0 293.0 L 271.0 293.0 L 271.0 285.1 L 272.2 285.1 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-25\" d=\"M 283.9 238.3 L 286.5 242.5 Q 286.8 242.9, 287.2 243.7 Q 287.6 244.4, 287.6 244.5 L 287.6 238.3 L 288.7 238.3 L 288.7 246.2 L 287.6 246.2 L 284.8 241.7 Q 284.5 241.1, 284.1 240.5 Q 283.8 239.9, 283.7 239.7 L 283.7 246.2 L 282.7 246.2 L 282.7 238.3 L 283.9 238.3 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-33\" d=\"M 317.7 126.5 Q 317.7 124.6, 318.6 123.6 Q 319.6 122.5, 321.3 122.5 Q 323.1 122.5, 324.0 123.6 Q 324.9 124.6, 324.9 126.5 Q 324.9 128.5, 324.0 129.5 Q 323.0 130.6, 321.3 130.6 Q 319.6 130.6, 318.6 129.5 Q 317.7 128.5, 317.7 126.5 M 321.3 129.7 Q 322.5 129.7, 323.2 128.9 Q 323.8 128.1, 323.8 126.5 Q 323.8 125.0, 323.2 124.2 Q 322.5 123.4, 321.3 123.4 Q 320.1 123.4, 319.5 124.2 Q 318.8 125.0, 318.8 126.5 Q 318.8 128.1, 319.5 128.9 Q 320.1 129.7, 321.3 129.7 \" fill=\"#FF0000\"/>\n",
       "<path class=\"bond-0 atom-0 atom-1\" d=\"M 671.2,104.2 L 643.5,107.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-0 atom-0 atom-1\" d=\"M 670.9,108.4 L 644.0,111.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-1 atom-1 atom-2\" d=\"M 643.5,107.1 L 618.5,119.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-2 atom-2 atom-3\" d=\"M 618.5,119.3 L 611.1,126.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-2 atom-2 atom-3\" d=\"M 611.1,126.9 L 603.7,134.6\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-3 atom-3 atom-4\" d=\"M 596.9,144.3 L 592.4,154.5\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-3 atom-3 atom-4\" d=\"M 592.4,154.5 L 587.8,164.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-4 atom-4 atom-5\" d=\"M 587.8,164.7 L 585.9,192.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-5 atom-5 atom-6\" d=\"M 585.9,192.5 L 593.5,219.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-6 atom-6 atom-7\" d=\"M 597.4,217.4 L 609.9,241.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-6 atom-6 atom-7\" d=\"M 593.5,219.2 L 602.7,239.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-7 atom-7 atom-8\" d=\"M 609.9,241.8 L 581.9,248.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-8 atom-8 atom-9\" d=\"M 581.9,248.0 L 558.9,232.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-8 atom-8 atom-9\" d=\"M 582.8,243.5 L 563.2,230.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-9 atom-9 atom-10\" d=\"M 558.9,232.4 L 560.8,204.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-10 atom-10 atom-11\" d=\"M 560.8,204.7 L 551.6,198.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-10 atom-10 atom-11\" d=\"M 551.6,198.4 L 542.3,192.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-11 atom-11 atom-12\" d=\"M 533.2,191.3 L 523.0,196.3\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-11 atom-11 atom-12\" d=\"M 523.0,196.3 L 512.7,201.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-12 atom-12 atom-13\" d=\"M 512.7,201.3 L 489.6,185.7\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-13 atom-13 atom-14\" d=\"M 489.6,185.7 L 479.1,190.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-13 atom-13 atom-14\" d=\"M 479.1,190.8 L 468.5,196.0\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-14 atom-14 atom-15\" d=\"M 463.8,202.7 L 461.8,214.0\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-14 atom-14 atom-15\" d=\"M 461.8,214.0 L 459.8,225.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-15 atom-15 atom-16\" d=\"M 459.8,225.3 L 432.2,229.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-16 atom-16 atom-17\" d=\"M 432.2,229.2 L 420.0,204.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-17 atom-17 atom-18\" d=\"M 420.0,204.1 L 440.0,184.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-18 atom-7 atom-19\" d=\"M 609.9,241.8 L 617.8,247.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-18 atom-7 atom-19\" d=\"M 617.8,247.1 L 625.7,252.5\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-19 atom-19 atom-20\" d=\"M 636.9,257.9 L 651.6,260.1\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-19 atom-19 atom-20\" d=\"M 651.6,260.1 L 666.3,262.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-20 atom-20 atom-21\" d=\"M 666.3,262.3 L 669.4,273.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-20 atom-20 atom-21\" d=\"M 669.4,273.3 L 672.6,284.2\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 677.9,290.0 L 689.4,292.9\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 689.4,292.9 L 701.0,295.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 678.9,286.0 L 689.3,288.6\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-21 atom-21 atom-22\" d=\"M 689.3,288.6 L 699.6,291.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-22 atom-22 atom-23\" d=\"M 701.0,295.8 L 720.3,275.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-23 atom-23 atom-24\" d=\"M 720.3,275.8 L 712.7,249.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-23 atom-23 atom-24\" d=\"M 715.6,274.6 L 709.3,252.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-24 atom-24 atom-25\" d=\"M 712.7,249.0 L 701.1,246.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-24 atom-24 atom-25\" d=\"M 701.1,246.2 L 689.6,243.3\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-25 atom-24 atom-26\" d=\"M 712.7,249.0 L 732.0,229.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-26 atom-26 atom-27\" d=\"M 732.0,229.0 L 760.6,229.4\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-27 atom-27 atom-28\" d=\"M 760.6,229.4 L 780.0,209.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-27 atom-27 atom-28\" d=\"M 758.9,225.1 L 775.3,208.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-28 atom-28 atom-29\" d=\"M 780.0,209.3 L 772.3,182.6\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-29 atom-29 atom-30\" d=\"M 772.3,182.6 L 745.3,175.8\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-29 atom-29 atom-30\" d=\"M 769.0,186.1 L 749.2,181.1\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-30 atom-30 atom-31\" d=\"M 745.3,175.8 L 743.4,203.6\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-31 atom-30 atom-32\" d=\"M 745.3,175.8 L 737.7,149.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-32 atom-32 atom-33\" d=\"M 737.7,149.0 L 731.3,140.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-32 atom-32 atom-33\" d=\"M 731.3,140.3 L 725.0,131.5\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-33 atom-33 atom-34\" d=\"M 716.8,123.4 L 707.5,117.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-33 atom-33 atom-34\" d=\"M 707.5,117.2 L 698.2,110.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-34 atom-34 atom-0\" d=\"M 698.2,110.9 L 671.2,104.2\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-35 atom-10 atom-5\" d=\"M 560.8,204.7 L 585.9,192.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-35 atom-10 atom-5\" d=\"M 564.9,207.4 L 583.2,198.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-36 atom-18 atom-14\" d=\"M 440.0,184.8 L 450.4,190.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-36 atom-18 atom-14\" d=\"M 450.4,190.3 L 460.7,195.8\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 681.8,246.3 L 674.0,254.3\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 674.0,254.3 L 666.3,262.3\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 684.8,249.3 L 677.9,256.4\" style=\"fill:none;fill-rule:evenodd;stroke:#0000FF;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-37 atom-25 atom-20\" d=\"M 677.9,256.4 L 671.0,263.5\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-38 atom-31 atom-26\" d=\"M 739.2,202.6 L 732.0,229.0\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path class=\"bond-38 atom-31 atom-26\" d=\"M 743.4,203.6 L 738.5,224.9\" style=\"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n",
       "<path d=\"M 669.9,104.3 L 671.2,104.2 L 672.6,104.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 644.9,106.9 L 643.5,107.1 L 642.3,107.7\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 619.8,118.7 L 618.5,119.3 L 618.1,119.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 588.0,164.2 L 587.8,164.7 L 587.7,166.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 593.1,217.9 L 593.5,219.2 L 594.0,220.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 583.3,247.7 L 581.9,248.0 L 580.8,247.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 560.0,233.2 L 558.9,232.4 L 559.0,231.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 513.2,201.0 L 512.7,201.3 L 511.6,200.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 490.8,186.5 L 489.6,185.7 L 489.1,185.9\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 459.9,224.7 L 459.8,225.3 L 458.4,225.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 433.6,229.0 L 432.2,229.2 L 431.6,227.9\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 420.6,205.4 L 420.0,204.1 L 421.0,203.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 439.0,185.8 L 440.0,184.8 L 440.6,185.1\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 700.4,295.7 L 701.0,295.8 L 701.9,294.8\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 719.4,276.8 L 720.3,275.8 L 720.0,274.5\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 759.2,229.3 L 760.6,229.4 L 761.6,228.4\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 779.0,210.3 L 780.0,209.3 L 779.6,208.0\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 772.7,183.9 L 772.3,182.6 L 771.0,182.2\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 743.5,202.2 L 743.4,203.6 L 743.1,204.7\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 738.1,150.4 L 737.7,149.0 L 737.4,148.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path d=\"M 698.7,111.2 L 698.2,110.9 L 696.9,110.6\" style=\"fill:none;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;\"/>\n",
       "<path class=\"atom-3\" d=\"M 595.5 139.3 Q 595.5 137.4, 596.5 136.3 Q 597.4 135.3, 599.2 135.3 Q 600.9 135.3, 601.8 136.3 Q 602.8 137.4, 602.8 139.3 Q 602.8 141.2, 601.8 142.3 Q 600.9 143.4, 599.2 143.4 Q 597.4 143.4, 596.5 142.3 Q 595.5 141.2, 595.5 139.3 M 599.2 142.5 Q 600.4 142.5, 601.0 141.7 Q 601.7 140.9, 601.7 139.3 Q 601.7 137.8, 601.0 137.0 Q 600.4 136.2, 599.2 136.2 Q 598.0 136.2, 597.3 137.0 Q 596.7 137.7, 596.7 139.3 Q 596.7 140.9, 597.3 141.7 Q 598.0 142.5, 599.2 142.5 \" fill=\"#FF0000\"/>\n",
       "<path class=\"atom-11\" d=\"M 534.1 189.1 Q 534.1 187.2, 535.1 186.2 Q 536.0 185.1, 537.8 185.1 Q 539.5 185.1, 540.4 186.2 Q 541.4 187.2, 541.4 189.1 Q 541.4 191.0, 540.4 192.1 Q 539.5 193.2, 537.8 193.2 Q 536.0 193.2, 535.1 192.1 Q 534.1 191.0, 534.1 189.1 M 537.8 192.3 Q 539.0 192.3, 539.6 191.5 Q 540.3 190.7, 540.3 189.1 Q 540.3 187.6, 539.6 186.8 Q 539.0 186.0, 537.8 186.0 Q 536.6 186.0, 535.9 186.8 Q 535.2 187.5, 535.2 189.1 Q 535.2 190.7, 535.9 191.5 Q 536.6 192.3, 537.8 192.3 \" fill=\"#FF0000\"/>\n",
       "<path class=\"atom-14\" d=\"M 462.9 193.9 L 465.5 198.1 Q 465.7 198.5, 466.1 199.3 Q 466.5 200.0, 466.6 200.1 L 466.6 193.9 L 467.6 193.9 L 467.6 201.8 L 466.5 201.8 L 463.8 197.3 Q 463.4 196.7, 463.1 196.1 Q 462.8 195.5, 462.7 195.3 L 462.7 201.8 L 461.6 201.8 L 461.6 193.9 L 462.9 193.9 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-19\" d=\"M 622.2 253.4 L 623.3 253.4 L 623.3 256.8 L 627.3 256.8 L 627.3 253.4 L 628.4 253.4 L 628.4 261.3 L 627.3 261.3 L 627.3 257.7 L 623.3 257.7 L 623.3 261.3 L 622.2 261.3 L 622.2 253.4 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-19\" d=\"M 631.2 253.4 L 633.8 257.6 Q 634.0 258.0, 634.5 258.8 Q 634.9 259.5, 634.9 259.6 L 634.9 253.4 L 635.9 253.4 L 635.9 261.3 L 634.9 261.3 L 632.1 256.7 Q 631.8 256.2, 631.4 255.6 Q 631.1 255.0, 631.0 254.8 L 631.0 261.3 L 630.0 261.3 L 630.0 253.4 L 631.2 253.4 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-21\" d=\"M 672.2 285.1 L 674.8 289.3 Q 675.1 289.7, 675.5 290.5 Q 675.9 291.2, 675.9 291.3 L 675.9 285.1 L 677.0 285.1 L 677.0 293.0 L 675.9 293.0 L 673.1 288.4 Q 672.8 287.9, 672.4 287.3 Q 672.1 286.7, 672.0 286.5 L 672.0 293.0 L 671.0 293.0 L 671.0 285.1 L 672.2 285.1 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-25\" d=\"M 683.9 238.3 L 686.5 242.5 Q 686.8 242.9, 687.2 243.7 Q 687.6 244.4, 687.6 244.5 L 687.6 238.3 L 688.7 238.3 L 688.7 246.2 L 687.6 246.2 L 684.8 241.7 Q 684.5 241.1, 684.1 240.5 Q 683.8 239.9, 683.7 239.7 L 683.7 246.2 L 682.7 246.2 L 682.7 238.3 L 683.9 238.3 \" fill=\"#0000FF\"/>\n",
       "<path class=\"atom-33\" d=\"M 717.7 126.5 Q 717.7 124.6, 718.6 123.6 Q 719.6 122.5, 721.3 122.5 Q 723.1 122.5, 724.0 123.6 Q 724.9 124.6, 724.9 126.5 Q 724.9 128.5, 724.0 129.5 Q 723.0 130.6, 721.3 130.6 Q 719.6 130.6, 718.6 129.5 Q 717.7 128.5, 717.7 126.5 M 721.3 129.7 Q 722.5 129.7, 723.2 128.9 Q 723.8 128.1, 723.8 126.5 Q 723.8 125.0, 723.2 124.2 Q 722.5 123.4, 721.3 123.4 Q 720.1 123.4, 719.5 124.2 Q 718.8 125.0, 718.8 126.5 Q 718.8 128.1, 719.5 128.9 Q 720.1 129.7, 721.3 129.7 \" fill=\"#FF0000\"/>\n",
       "</svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#https://go.drugbank.com/drugs/DB11697\n",
    "smiles = \"C1=CCOCc2cc(ccc2OCCN2CCCC2)Nc2nccc(n2)-c2cccc(c2)COC1\"\n",
    "mol = Chem.MolFromSmiles(smiles)\n",
    "mol_with_templates = Chem.Mol(mol)\n",
    "\n",
    "# use rdkit native coordinate generation\n",
    "rdDepictor.SetPreferCoordGen(False)\n",
    "rdDepictor.Compute2DCoords(mol)\n",
    "\n",
    "# the first time you call this, \n",
    "rdDepictor.Compute2DCoords(mol_with_templates, useRingTemplates=True)\n",
    "\n",
    "Draw.MolsToGridImage([mol, mol_with_templates], subImgSize=(400,400))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "17938f60-2f04-44fd-8b6c-89afa7a3ea0e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QED Score: 0.538\n"
     ]
    }
   ],
   "source": [
    "qed_score = QED.qed(mol)\n",
    "print(f\"QED Score: {qed_score:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "543d9c0f-81f1-4976-a1f5-93e899b3d98b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QEDproperties(MW=472.58900000000017, ALOGP=4.964800000000004, HBA=7, HBD=1, PSA=68.74000000000001, ROTB=4, AROM=3, ALERTS=1)\n"
     ]
    }
   ],
   "source": [
    "props = QED.properties(mol)\n",
    "print(props)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9177e53f-1a26-49e7-b022-f2b2e8ab5eca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QED (custom weights): 0.538\n"
     ]
    }
   ],
   "source": [
    "custom_weights = (0.66, 0.46, 0.05, 0.61, 0.06, 0.65, 0.48, 0.95)\n",
    "qed_custom = QED.qed(mol, w=custom_weights)\n",
    "print(f\"QED (custom weights): {qed_custom:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9a15a676-86e5-4307-81b6-0e7f5d80c3e0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QED (default/mean weights): 0.538\n"
     ]
    }
   ],
   "source": [
    "qed_default = QED.default(mol)\n",
    "print(f\"QED (default/mean weights): {qed_default:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "52283240-1a38-4332-8459-bb513c1b41f2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QED (max weights): 0.568\n"
     ]
    }
   ],
   "source": [
    "qed_max = QED.weights_max(mol)\n",
    "print(f\"QED (max weights): {qed_max:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "db6af05b-b47f-45b3-8435-b8315db6fedb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "QED (unit weights): 0.526\n"
     ]
    }
   ],
   "source": [
    "qed_none = QED.weights_none(mol)\n",
    "print(f\"QED (unit weights): {qed_none:.3f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "aec6866f-fff0-49ff-91fa-2732fba25522",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C1=CCOCc2cc(ccc2OCCN2CCCC2)Nc2nccc(n2)-c2cccc(c2)COC1'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "or_smi ='C1CCN(C1)CCOC2=C3COC/C=C/COCC4=CC(=CC=C4)C5=NC(=NC=C5)NC(=C3)C=C2'\n",
    "mol1 = Chem.MolFromSmiles(or_smi)\n",
    "smi = Chem.MolToSmiles(mol1,isomericSmiles=False)\n",
    "smi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9413956e-46e2-4286-b8da-6fed86c57cc7",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "RDKit313",
   "language": "python",
   "name": "rdkit313"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
